package com.ztgf.order.models.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ztgf.common.annotations.CustomerBigDecimalSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * author: chenyu.wang
 * date: 2020-06-30 17:29
 * Description: 售后订单列表VO
 */
@Data
public class OrderReturnCommodityListVO implements Serializable {

    @ApiModelProperty(value = "售后订单退换货表id")
    private Long id;
    @ApiModelProperty(value = "订单商品表id")
    private Long orderCommodityId;
    @ApiModelProperty(value = "订单id")
    private Long orderId;
    @ApiModelProperty(value = "买家店铺id")
    private Long buyersShopId;
    @ApiModelProperty(value = "卖家店铺id")
    private Long sellerShopId;
    @ApiModelProperty(value = "申请类型;0申请退货，1申请换货")
    private Integer type;
    @ApiModelProperty(value = "退换货原因;0质量问题，1真假掺售")
    private Integer returnReason;
    @ApiModelProperty(value = "售后状态;0未售后、1申请售后、2售后中、3售后完成")
    private Integer afterSalesState;
    @ApiModelProperty(value = "售后审核状态;0未审核、1审核中，2卖家同意、3卖家不同意、4买家取消")
    private Integer afterSalesAuditState;
    @ApiModelProperty(value = "平台介入状态;0未介入、1介入中、2协调、3买赢、4卖赢")
    private Integer interventionState;
    @ApiModelProperty(value = "介入买家状态;0未确定、1同意、2不同意")
    private Integer buyersState;
    @ApiModelProperty(value = "介入卖家状态;0未确定、1同意、2不同意")
    private Integer sellerState;
    @ApiModelProperty(value = "发货状态;0未发货、1待发货、2已发货、3已签收")
    private Integer shipState;
    @ApiModelProperty(value = "是否取消;0未取消，1已取消")
    private Integer isCancel;
    @ApiModelProperty(value = "是否退款;0不退款，1要退款")
    private Integer isRefund;
    @ApiModelProperty(value = "提交数量")
    private Integer subNumber;
    @ApiModelProperty(value = "订单创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date orderTime;
    @ApiModelProperty(value = "订单编号")
    private String orderNo;
    @ApiModelProperty(value = "商品主图")
    private String logUrl;
    @ApiModelProperty(value = "商品主图")
    private String purchaseCommodityUrl;
    @ApiModelProperty(value = "商品名称")
    private String commodityName;
    @ApiModelProperty(value = "询盘商品类型")
    private Integer purchaseCommodityType;
    @ApiModelProperty(value = "服务单号")
    private String serviceOrderNumber;
    @ApiModelProperty(value = "申请时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date serverTime;
    @ApiModelProperty(value = "卖家店铺名称")
    private String sellerShopName;
    @ApiModelProperty(value = "买家名称")
    private String buyersShopName;
    @ApiModelProperty(value = "退款金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal refundPrice;
    @ApiModelProperty(value = "倒计时")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expirationTime;
    @ApiModelProperty(value = "商品Id")
    private Long goodsId;
    @ApiModelProperty(value = "是否延长,0否、1是")
    private Integer isExtend;
    @ApiModelProperty(value = "平台协调状态:0未协调,1买赢,2卖赢")
    private Integer consortState;
    @ApiModelProperty(value = "平台协调备注")
    private String consortRemarks;
    @ApiModelProperty(value = "退款时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;

}
